package team.kirohuji.dao;

import java.util.List;

import team.kirohuji.domain.ShiroSession;

/**
 * 这个类用来管理ShrioSessionDao类
 * 
 * @author kirohuji
 *
 */
public interface ShiroSessionDao {
	/**
	 * 删除一条记录通过SeesionId
	 * 
	 * @param shiroSessionId
	 *            shiro会话Id
	 * @return int
	 */
	int deleteByPrimaryKey(String shiroSessionId);

	/**
	 * 插入一条记录
	 * 
	 * @param record
	 *            一个ShiroSession对象
	 * @return int
	 */
	int insert(ShiroSession record);

	/**
	 * 插入一条记录
	 * 
	 * @param record
	 *            一个ShiroSession对象
	 * @return int
	 */
	int insertSelective(ShiroSession record);

	/**
	 * 选择一条ShiroSession记录通过shiroSessionId
	 * 
	 * @param shiroSessionId
	 *            一条shiroSessionId
	 * @return ShiroSession
	 */
	ShiroSession selectByPrimaryKey(String shiroSessionId);

	/**
	 * 更新一条ShiroSession记录
	 * 
	 * @param record
	 *            一个ShiroSession对象
	 * @return int
	 */
	int updateByPrimaryKeySelective(ShiroSession record);

	/**
	 * 更新一条ShiroSession记录
	 * 
	 * @param record
	 *            一个ShiroSession对象
	 * @return int
	 */
	int updateByPrimaryKey(ShiroSession record);

	/**
	 * 根据shiroSessionId获取一组session值
	 * 
	 * @param shiroSessionId shiro会话主键
	 * @return String列表
	 */
	List<String> findSessionByPrimaryKey(String shiroSessionId);

	/**
	 * 删除(24-48)小时前的失效数据
	 * 
	 * @return int
	 */
	int deleteOldData();
}